# 测试程序
# 引入Flask所有的模块
from flask import *
# Json处理
import json

# 定义一个独立的app对象
app = Flask(__name__)
# 一些参数
# 关于HOST参数：
# 0.0.0.0 是对外部网络的监听ip，在服务器上需要允许外面访问的话用这个ip
# 127.0.0.1 是本地监听，只许本地访问，外网访问不到
# 也可以设置为局域网ip，局域网内也能访问到
# Windows下各种ip地址可以用ipconfig命令查询到
host = "0.0.0.0"
# 关于PORT端口
# 监听需要ip和port对应上才能访问
# 比如server.chiro.work:14514
# HTTP默认端口是80，设置为80端口就不需要在访问的时候添加端口号
port = 80


# 在一个函数开头用这个@的方式绑定一个URL
# 这个@...是Python中的装饰器使用
# 在URL中可以加入解析参数，参数格式：<类型：变量名>
# 值得注意的是如果有确定的匹配，就不会解析到参数，比如"/json"
@app.route('/<string:text>')
def index(text: str):
    return "Here's the index page, your string: %s" % text


# 关于这个函数的返回值
# 支持str、json、...(忘了
# 实际上直接返回Json格式的文本就不会解析到Json，不过接收的程序也是能解析的
# 只是contentType会有区别
@app.route('/json')
def index_json():
    return json.loads('''
    {
        "test_json": true,
        "code": 0,
        "message": "这是消息"
    }
    ''')

# 在上面的URL不匹配的时候（即没有参数的时候
# 就会匹配到这里
@app.route("/")
def index_err():
    return "给我输入参数啊喂！"


# 程序入口
if __name__ == '__main__':
    app.run(host, port, debug=False)
